class Geoda::Vector < Vector
	def method_missing(method, *args, &block)
		if method == :cross_product
			cross(args[0])
		else
			super(method, *args, &block)
		end
	end

	def cross(v)
    Vector.Raise ErrDimensionMismatch unless size == v.size && v.size == 3
    Vector[ @elements[1]*v[2] - @elements[2]*v[1],
            @elements[2]*v[0] - @elements[0]*v[2],
            @elements[0]*v[1] - @elements[1]*v[0] ]
  end

end